home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE3 / GAMES / JETSETWILL / !JSW / !Help / UK / Help_txt next >
Text File  |  1998-06-28  |  38KB  |  928 lines

  1. —————————————
  2. Jet Set Willy  1.43d, 25 March 1998
  3. —————————————
  4.  
  5. Written by Darren Salt
  6.  
  7.  
  8. Requires at least RISC OS 3.10 to run.
  9.  
  10.  
  11. INDEX
  12. —————
  13.  
  14. To use, search for the relevant section number.
  15.  
  16. In Edit, use something like "$4.2.3" (with 'Wildcarded expressions' on).
  17. In Zap, use something like "\<4.2.3".
  18.  
  19.  
  20.  1        Introduction
  21.  1.1       Playing the game
  22.  1.2       *Important*
  23.  1.3       Risc PC and A7000 users
  24.  
  25.  2        The Editor
  26.  
  27.  3        The map editing window
  28.  
  29.  4        The room editing window
  30.  4.1       General
  31.  4.2       Using the window
  32.  4.2.1      Mode-independent editing
  33.  4.2.2      Map editing mode
  34.  4.2.2.1     Selecting and placing pieces
  35.  4.2.2.2     Changing the appearance and type of the pieces
  36.  4.2.3      Monster editing mode
  37.  4.2.3.1     Selecting, placing, and removing monsters
  38.  4.2.3.2     Movement bounds
  39.  4.2.3.3     Monster movement
  40.  4.2.3.4     Animation sequence editing
  41.  4.2.3.5     Miscellaneous
  42.  
  43.  5        Event editing
  44.  5.1       General
  45.  5.2       The event types in detail
  46.  5.2.1      Scroll and move
  47.  5.2.2      Move player
  48.  5.2.3      Move monster
  49.  5.2.4      Set monster bounds
  50.  5.2.5      Enable/disable events
  51.  5.3       Initial states
  52.  
  53.  6        Menus
  54.  6.1       The map editor menu
  55.  6.2       The room editing menu
  56.  6.3       The main menu
  57.  6.4       The Options dialogue box
  58.  
  59.  7        Game details and statistics
  60.  7.1       Game statistics
  61.  7.2       Sprite file details
  62.  7.3       File types
  63.  7.4       Credits
  64.  7.5       Contacting the author
  65.  
  66.  
  67.  
  68. 1  Introduction
  69.    ————————————
  70.  
  71. For those of you not familiar with the game (where have you been?) the aim is
  72. to collect all the rubbish left behind after a massive party funded by the
  73. money from the mines (don't tell me you haven't played Manic Miner either)
  74. before Maria the housekeeper will let you have a well-earned rest.
  75.  
  76.  
  77. 1.1  Playing the game
  78.      ————————————————
  79.  
  80. Remember: avoid anything that moves, and certain bits of scenery...
  81.  
  82. Playing the game couldn't be easier - just left, right and jump (Z, X and
  83. Return). You can use a joystick if you have an A3010 - use port 1 (the one on
  84. the left). An interface plus emulation of Acorn's 'Joystick' module will do
  85. just as well.
  86.  
  87. Should Miner Willy collide with a monster or harmful piece of scenery, he
  88. will be placed wherever he last stopped moving. He will, if the option is
  89. set, be immune to monsters for a short while. During this time, the objects
  90. collected counter and clock will be displayed in a very dark colour and will
  91. brighten. When they are once more white, he has no immunity.
  92.  
  93. Click Select on the JSW icon or select 'Play game' from the menu to play.
  94.  
  95. It is possible that you may be pushed for memory with 1Mb machines. If this
  96. is the case, do your sprite editing first!
  97.  
  98. If you have a VGA monitor or better, have a quick look at the options box
  99. (just off the main menu), and the description given below.
  100.  
  101.  
  102. 1.2  *Important*
  103.      ———————————
  104.  
  105. There have been a lot of changes to !JSW since v1.20 (and even v1.30). The
  106. most important of these are the editable block types, with some new ones to
  107. choose from - disintegrating platforms, springs, and escalators. There are
  108. features allowing you to edit the sprites in the current room or animation
  109. sequence, and to quickly draw lines and rectangles, and quickly reposition
  110. monsters and their bounding boxes. And there are background sprites too...
  111.  
  112. Also it's easier to jump through staircases than in v1.41 and earlier.
  113.  
  114. It is strongly suggested that you read this file or the accompanying
  115. StrongHelp manual!
  116.  
  117.  
  118. 1.3  Risc PC and A7000 users
  119.      ———————————————————————
  120.  
  121. Before you run !JSW, you may want to insert one or two of the files in the
  122. supplied "RPCmodes" directory into your mode definitions file. This should
  123. allow JSW to use its custom screen modes.
  124.  
  125. WARNING: These modes are not guaranteed to work; I cannot be responsible for
  126. any damage caused by this program to your monitor. I cannot test the modes,
  127. not having (access to) a Risc PC or A7000.
  128.  
  129.  
  130.  
  131. 2  The Editor
  132.    ——————————
  133.  
  134. Click Adjust on the JSW icon or select 'Edit'.'Game' from the menu. You will
  135. be presented with a small window showing the currently selected room, and the
  136. four rooms surrounding it.
  137.  
  138. Click Shift-Adjust on the JSW icon to open the datafiles directory.
  139.  
  140. It is worth pointing out that JSW supports interactive help, which is
  141. complemented by this text file.
  142.  
  143.  
  144.  
  145. 3  The map editing window
  146.    ——————————————————————
  147.  
  148. Clicking Select on any of the four rooms shown (as thumbnails) selects it and
  149. opens the room editing window. If Select is held down, a file icon will
  150. appear, which may be dragged to a directory window to save the room as
  151. "Room_*" where * is the room number.
  152.  
  153. Clicking Adjust anywhere in this window opens the exits window in which the
  154. exits from the current room and its name can be set. Click on the arrow icons
  155. to step through the available rooms - the name to the right of the room
  156. number will change with it. The name of the current room is shown to the
  157. right of the 'OK' (accept changes) and 'Cancel' (reject changes) icons, along
  158. with the caret. Clicking 'OK' will also force the surrounding room icons to
  159. be updated.
  160.  
  161. See also §6.1 "The map editor menu".
  162.  
  163.  
  164.  
  165. 4  The room editing window
  166.    ———————————————————————
  167.  
  168. 4.1  General
  169.      ———————
  170.  
  171. The first thing you will notice is the toolbox attached to this window.
  172. Actually there are two toolboxes, though only one is shown - to switch
  173. between them, click on the small Miner Willy icon.
  174.  
  175. There are a few markers to be described here:
  176.  'S' is Miner Willy's start position,
  177.  'T' is the target square,
  178.  't' is a teleport source - stand here and be teleported,
  179.  'd' is a teleport destination.
  180.  
  181. The teleports are colour coded such that the source and destination of any
  182. particular teleport are shown in the same colour. I pity you if you're not
  183. using a 256-colour mode (at least!) as the TINT is used!
  184.  
  185.  
  186. 4.2  Using the window
  187.      ————————————————
  188.  
  189. 4.2.1  Mode-independent editing
  190.        ————————————————————————
  191.  
  192. You can click Shift-Select on a 't' or 'd' to move to the opposite end of
  193. that teleport, eg. click on a teleport destination and the room editing
  194. window will change to show the room containing its source.
  195.  
  196. The two columns of sprites down either side of the map area indicate where
  197. arrows may be fired from. To add an arrow, or edit one already present, click
  198. Select on it. A small window will be opened, containing two writeable icons.
  199. The top one, marked 'Delay', shows the number of frames between entering this
  200. room and the arrow being fired; it is in the range 0 to 4000 (0 means 'fire
  201. immediately'). The lower one, marked 'Repeat' is the time, in frames, before
  202. the arrow is next fired; it is in the range 32 to 4000 (32, not 0, because
  203. the arrow takes 32 frames to cross the room).
  204.  
  205. To remove an arrow, click Adjust on it.
  206.  
  207. You can have up to four arrows per room. Arrows can be placed, edited or
  208. removed in any editing mode.
  209.  
  210. The guard and finish sprites are not highlighted; however, this should not
  211. present any problems.
  212.  
  213.  
  214. 4.2.2  Map editing mode
  215.        ————————————————
  216.  
  217. Or, more accurately, 'screen layout editing mode'.
  218.  
  219.  
  220. 4.2.2.1  Selecting and placing pieces
  221.          ————————————————————————————
  222.  
  223. The editor starts up in this mode. The toolbox contains three columns of
  224. icons: the left column shows the currently selected piece (green border), the
  225. middle column shows the piece types (see below), and the right column
  226. contains switch types. The top left icon is always blank; the top centre icon
  227. lets you switch to monster editing mode.
  228.  
  229. The three icons at the bottom of the toolbox do other things. The upper one
  230. shows whether the room has a rope in it (if there is, its movement bounds are
  231. shown in the room editing window). The lower left one allows you to export
  232. the scenery sprites used for the blocks, and the background sprite for that
  233. room, to !Paint, by double-clicking on it; or to save it, by dragging it to a
  234. directory window (the filename is "Blocks") or to another application. The
  235. lower right one shows what the background sprite looks like (when tiled).
  236.  
  237. You can place pieces on the map simply by clicking or dragging Select in the
  238. room editing window. Clicking or dragging Adjust places blanks.
  239.  
  240. You are limited to at most 64 collectables and one switch.
  241.  
  242. The position of the last piece placed is remembered, and may be used in line
  243. and box drawing. Click Ctrl-Select to draw a line, or Ctrl-Adjust for a
  244. filled box. Line drawing is restricted to vertical, horizontal, and the two
  245. 45° diagonals, and will not occur outside the rectangle defined by the two
  246. mouse clicks. Any other click registered by !JSW will mean that the stored
  247. position will be forgotten - this is a safety feature so that there's much
  248. less chance of you ruining that room that's taken hours to perfect...
  249.  
  250. The icon below the four switch types lets you set how often the switch is
  251. operated:
  252.  A - any time (when Miner Willy comes into contact with it);
  253.  V - once per visit to that room;
  254.  G - once per game;
  255.  R - once per visit, switched off whenever the room is entered.
  256.  
  257. The thumbnail in the map editing window is updated whenever another room is
  258. selected or the main menu opened.
  259.  
  260.  
  261. 4.2.2.2  Changing the appearance and type of the pieces
  262.          ——————————————————————————————————————————————
  263.  
  264. Click Menu over the toolbox to open another editing window, containing:
  265. - on the left, sixteen icons showing the current appearance of the blocks,
  266.   and to the left of each there is a pair of arrows which allow you to step
  267.   through the available scenery sprites;
  268. - on the right, another sixteen icons, this time showing the type of each
  269.   block, and to the right of each (except the bottom one, which represents
  270.   the 'collectable' object and cannot be redefined) there is a pair of arrows
  271.   which allow you to step through the available block types.
  272.  
  273. The 'blank' block cannot be redefined.
  274.  
  275. The conveyor icons (not the escalators) change in steps of four blocks
  276. because four frames are required to animate the conveyor. This animation can
  277. be seen by clicking on the relevant conveyor type icon (right-hand column).
  278.  
  279. The available block types are:
  280. - platform (light blue block);
  281. - brick (brick pattern);
  282. - staircase (diagonal green line; two types);
  283. - conveyor (yellow block, arrows give direction; two types);
  284. - deadly (skull);
  285. - escalator (staircase with an arrow beneath it; four types);
  286. - disintegrating platform (blue block - top half light, bottom half dark);
  287. - spring (two horizontal lines with a spring shape in between).
  288.  
  289. Click on OK to accept the changes or Cancel to ignore them.
  290.  
  291.  
  292. 4.2.3  Monster editing mode
  293.        ————————————————————
  294.  
  295. This mode allows you to see where the monsters are, and the movement bounds
  296. and initial direction and speed of one of them.
  297.  
  298.  
  299. 4.2.3.1  Selecting, placing, and removing monsters
  300.          —————————————————————————————————————————
  301.  
  302. Clicking Select over a monster selects it. Its movement bounds are drawn as a
  303. white rectangle, and its animation sequence, initial direction and speed are
  304. shown in the toolbox.
  305.  
  306. Click anywhere else and a new one is created (up to a maximum of eight). New
  307. monsters acquire the currenly selected animation sequence, don't move, and
  308. have their movement bounds set to the minimum.
  309.  
  310. If you then drag Select, you can easily reposition the monster.
  311.  
  312. The arrow icons either side of the current animation sequence icon step
  313. through the available sequences. This does not change the sequence used for
  314. the currently selected monster!
  315.  
  316. 'Delete', well, deletes the current monster, unless it has a special function
  317. (guard or finish - see §6.2 "The room editing menu"). If there are events attached to this monster, they will also be deleted - you will be told should
  318. this happen.
  319.  
  320.  
  321. 4.2.3.2  Movement bounds
  322.          ———————————————
  323.  
  324. Movement bounds are set by clicking (or dragging) Adjust in the room editing
  325. window. Exactly which bounds are set depends on where the pointer is relative
  326. to the monster: for example, click above it to set its upper bound.
  327.  
  328. The bounds can be set to their minimum values by clicking within the monster
  329. according to this diagram:
  330.  TL TT TT TR
  331.  LL -- -- RR
  332.  LL -- -- RR
  333.  BL BB BB BR
  334. where each pair represents a 4*4 block of pixels (remember all monster
  335. sprites are 16*16 pixels), T=upper bound, B=lower bound, L=left bound,
  336. R=right bound. Only the bound(s) shown for a particular part of the monster
  337. is (are) set.
  338.  
  339. Fine control over the bounds and the monster position is accessed by clicking
  340. Shift-Adjust over the room editing window. The box thus opened (as a menu)
  341. contains several pairs of arrow icons, a box, and a sprite in the centre. The
  342. box represents the movement bounds. These are alterable in unit steps by
  343. clicking on the arrows outside the box: eg. to move the left bound one unit
  344. right, click Select on the right arrow to the left of the box. One unit is
  345. equal to the monster's speed along the appropriate axis (if zero, it defaults
  346. to 2 horizontally or 1 vertically). The four arrows within the box allow you
  347. to adjust the initial position of the monster.
  348.  
  349. At present, adjusting the movement bounds causes a redraw of the area
  350. enclosed by the bounds; moving the monster causes a complete redraw.
  351.  
  352. If you decide to edit the sprites making up the current animation sequence,
  353. then double-click on the sequence icon - this will export the appropriate
  354. sprites to !Paint. You may also drag the icon to another application, or to
  355. a directory viewer to save the sequence (the name is of the form "Monster*"
  356. where * is !JSW's internal animation sequence number - this is not
  357. important, but the sprite names are).
  358.  
  359.  
  360. 4.2.3.3  Monster movement
  361.          ————————————————
  362.  
  363. To set the initial speed for the current monster, use the arrow icons
  364. immediately below 'Speed'. The speed is shown between the arrows: the upper
  365. one is the horizontal speed, the lower is the vertical speed. The direction
  366. is shown by the four buttons above (follow their arrangement). These can be
  367. clicked on to reverse direction if required.
  368.  
  369. By way of example, the left arrow decreases the speed if the monster is
  370. moving right, starts it moving left if stationary, and increases its speed if
  371. it's moving left. (This is the same as saying 'decreases the horizontal
  372. component of its initial velocity' if we take 'right' as 'positive'.)
  373.  
  374. You'll notice that the horizontal speed is limited to 0, 2, 4, or 8 pixels
  375. whereas the vertical speed can be any integer from 0 to 8.
  376.  
  377. Lifts cannot move horizontally, their vertical speed range is limited to 0,
  378. 1, 2, 4 or 8 pixels in either direction, and they are ALWAYS gridlocked.
  379.  
  380. Adjusting the speed may affect the movement bounds. The left and right bounds
  381. are locked to multiples of the monster's horizontal speed (or 2 if zero); the
  382. top and bottom bounds are similarly locked to the monster's vertical speed
  383. (or 1 if zero). These are always rounded towards the monster.
  384.  
  385. It's easy to have things moving in one direction using the 'One dir' options.
  386. As an example, say we want a drop of water to fall from the roof to the floor
  387. below. First, put the drop in position and set its upper and lower bounds (we
  388. don't want it to move horizontally). Set it moving downwards at, say, speed
  389. 4. Now click on the button marked 'V' and test it. It will fall, disappear
  390. for a while, then reappear at its upper bound.
  391.  
  392. The length of time for which it is invisible depends on its speed and how far
  393. it would have to move to reach, in this example, its upper bound. You can
  394. make it appear there immediately on reaching its lower bound by setting the
  395. 'No delay' option.
  396.  
  397. The 'H' button works similarly to the 'V' button, but uses the left and right
  398. bounds instead. You cannot have both 'H' and 'V' set at once!
  399.  
  400. Another example: if you had 'H' selected and the monster moving left to start
  401. with, you would never see it moving right. You can have it moving vertically
  402. as well if you like.
  403.  
  404.  
  405. 4.2.3.4  Animation sequence editing
  406.          ——————————————————————————
  407.  
  408. Click Menu over the monster editing toolbox to access this window. It
  409. contains two large(ish) boxes containing the sprites used for the directions
  410. shown (note that 'right' overrides 'up' and 'down', and 'left' overrides
  411. 'right'). The individual frames have arrows either side of them to allow you
  412. to step through the available sprites.
  413.  
  414. Below this, we have the 'X sets frame number' flag. This is specifically for
  415. those sprites where all eight animation frames will fit into the same 16*16
  416. space without moving said space. Maybe some diagrams will help - load the
  417. file 'xFrame' (found within !JSW) into !Draw to see how it works.
  418.  
  419. Beside this, there's a flag indicating whether sprites created using this
  420. sequence act as lifts or not. If you've ever played Jet Set Willy 2 you'll
  421. know how these work - you can stand on them, but if you hit them from the
  422. side or below...
  423.  
  424. The lifts use a few invisible platform types in order to do their job
  425. properly. However, this will *not* cause bits of platform to be deleted
  426. (unlike earlier releases).
  427.  
  428. You must leave the top nine pixel rows blank (ie. filled with black) in each
  429. frame intended for use in a lift animation sequence or Miner Willy won't be
  430. able to use it.
  431.  
  432. You won't be able to alter the flags described here if the animation sequence
  433. is in use somewhere, either as a monster or as Miner Willy.
  434.  
  435. 'Animate' runs the animation sequence. Click Select to see the left-hand
  436. sequence, or Adjust for the right-hand sequence. Small but important: !JSW
  437. doesn't know about reversed mouse buttons!
  438.  
  439. To the right of the animation frames, there are four buttons for common
  440. animation sequences. They are designed to show how the sequence is built up
  441. from the top left frame (frame 0). Each digit 1 to 7 represents the sprite
  442. you would see if you clicked Select that number of times on the right arrow
  443. beside frame 0. Click on the required button for instant animation sequence.
  444.  
  445. 'OK' to accept the changes, and 'Cancel' to reject them.
  446.  
  447.  
  448. 4.2.3.5  Miscellaneous
  449.          —————————————
  450.  
  451. The 'Player' icon sets the animation sequence used for Miner Willy, which is
  452. shown below. This sequence must have its 'X sets frame number' flag set (see
  453. above).
  454.  
  455. Finally, the small Miner Willy allows you to return to map editing mode.
  456.  
  457.  
  458.  
  459. 5  Event editing
  460.    —————————————
  461.  
  462. 5.1  General
  463.      ———————
  464.  
  465. You can edit the events for the current room by selecting 'Edit events...' in
  466. the editing menu.
  467.  
  468. It is best to think of this window as 'Event' x is of 'Type' y and is
  469. activated 'When' z.
  470.  
  471. 'x': The currently selected event - one of eight possible - is shown, in the
  472. event editing window, to the right of the word "Event"; click on one to
  473. select that event for editing.
  474.  
  475. 'y': Below this are the event types. Initially, "None" will be selected;
  476. clicking on one of these causes the event to be of that type. The possible
  477. types are:
  478. - None: ignored completely;
  479. - Scroll & move: an area of the room is 'scrolled' out of view, and the
  480.   player may, optionally, be moved;
  481. - Move player: moves the player to a given location / room;
  482. - Move monster: sets a new speed and optional position for a monster;
  483. - Set monster bounds: sets new bounds for a monster;
  484. - Enable/disable events: sets event states.
  485.  
  486. 'z': The event is triggered when the player or one of the monsters is at a
  487. specific position, all the objects in a room have been collected, or when a
  488. specific switch is either on or off. (Note that missing switches are always
  489. 'on'.) Click on the required option to set it.
  490.  
  491. The room in which all the objects must be collected in order to trigger this
  492. event is specified by using the arrows to the right of the option. Both the
  493. room number and name are displayed; "-" means 'current room'.
  494.  
  495. The monster number (to the right of the "Monster" option) can be altered by
  496. clicking Adjust on one in the current room, clicking on "Current", or by
  497. using the arrows next to it. It is used to determine which monster to check
  498. (if the event is dependent on a monster being in a specific place), and, for
  499. the event types that affect a monster, which one is affected.
  500.  
  501. The coordinates (beside "is at") show the position which the monster or
  502. player must be at before the event is triggered. (0,0) is at the top left of
  503. the room, and (255,127) is the bottom right. The coordinates required are, as
  504. usual, of the top left corner of the sprite, which means that, in practice,
  505. the rightmost coordinate is 240 (or 246 if the sprite is animated with a
  506. sequence which has the 'X position' bit set), and the lowest possible is 112.
  507. The flags 'No X' and 'No Y', when selected, cause the X or Y position (as
  508. appropriate) not to be checked.
  509.  
  510. Wherever input is expected, it must be registered by pressing RETURN.
  511.  
  512. You can input coordinates by clicking Select in the room editing window.
  513. Exactly what coordinates are entered and where depends on where the caret is
  514. - make sure it's in the right icon first!
  515.  
  516. For single icons, the coordinate will be entered and the caret advanced as if
  517. RETURN had been pressed; for icon pairs (two icons with a comma between
  518. them), both are filled in and the caret is not moved.
  519.  
  520. "Cancel" cancels the changes, "OK" accepts them.
  521.  
  522. The map editing window can only be used to reopen the current room while in
  523. this mode.
  524.  
  525. You may also click Select on a blank part of the window to bring it to the
  526. front; click Adjust instead to bring the room editing window to the front.
  527.  
  528.  
  529. 5.2  The event types in detail
  530.      —————————————————————————
  531.  
  532. 5.2.1  Scroll and move
  533.        ———————————————
  534.  
  535. The "Scroll area" box contains the area to be scrolled. Enter the coordinates
  536. in the boxes provided (0 to 31 horizontally, 0 to 15 vertically - this works
  537. on a map cell basis), and select a direction. A value may be entered in the
  538. 'keep ... rows/cols' in which case the indicated number of rows or columns
  539. are retained after scrolling. Any value up to 30 may be entered here, though
  540. if greater than the height or width (depending on scroll direction) then
  541. (width-1) or (height-1) is used as appropriate.
  542.  
  543. The room number may be altered by clicking on the arrows in the "Go to room"
  544. box; the coordinates to go to may be entered in the "Go to XY" box (again in
  545. map cell format - 0 to 30 horizontally, 0 to 14 vertically, because we can't
  546. place Miner Willy partly outside the playing area). If this box is not ticked
  547. then Miner Willy will not be moved.
  548.  
  549. This event may only be triggered once, unless the 'keep rows/cols' value is
  550. non-zero, in which case it is triggered whenever the trigger condition occurs
  551. (becomes true) and then locked out until the condition is no longer true.
  552.  
  553.  
  554. 5.2.2  Move player
  555.        ———————————
  556.  
  557. The room number may be altered by clicking on the arrows either side of it;
  558. the coordinates to go to may be entered in the writeable icons below, in map
  559. cell format - 0 to 30 horizontally, 0 to 14 vertically.
  560.  
  561. When this event is triggered, Miner Willy is moved to the specified location
  562. in the specified room.
  563.  
  564.  
  565. 5.2.3  Move monster
  566.        ————————————
  567.  
  568. This has, on the left, a group of 9 buttons which set where the monster will
  569. move to (think of the box they are on as the monster's movement bounds).
  570. Immediately to the right are:
  571. - the coordinates to move to (see above, 'beside "is at"');
  572. - "Move", which, when clear, only causes the monster's movement speed to be
  573.   changed (and also the coordinates boxes to be greyed out);
  574. - "One use" meaning one use only while in this room;
  575. - "Every other" meaning use every other time this event is triggered;
  576. - "1", used only when "Every other" is set, meaning trigger first time if on,
  577.   second time if off.
  578. You'll probably need "One use" set if the event is NOT triggered by the
  579. monster's position.
  580.  
  581. To the right, we have the speed controls. These work in exactly the same way
  582. as in monster editing mode, but only affect the monster when the event is
  583. triggered.
  584.  
  585. Below, there are some bounce options. Each option represents an invisible
  586. surface off which the monster will bounce - ie. '|' means that ⇦ becomes ⇨
  587. and vice versa. (Warning - with the diagonal mirrors, be careful to ensure
  588. the vertical velocity is, when applied horizontally, a valid horizontal
  589. velocity!)
  590.  
  591. You can have either speed or bounce controls selected, but, clearly, not
  592. both. To select which type to use, click on the box title - 'Speed' or
  593. 'Bounce monster'.
  594.  
  595. This event may be triggered more than once, unless the "Don't move" and "Use
  596. once only" flags are both set.
  597.  
  598.  
  599. 5.2.4  Set monster bounds
  600.        ——————————————————
  601.  
  602. This has four writeable boxes, each one described by the text to its left.
  603. For example, the box described as "Right" sets the monster's right bound to
  604. the given X coordinate. The bounds default to the monster's initial bounds,
  605. so you don't have to change them all if you don't want to.
  606.  
  607. Clicking Select in the room editing window alters the bounding box in exactly
  608. the same way as Adjust in monster editing mode (except that dragging won't
  609. work).
  610.  
  611. This event may only be triggered once.
  612.  
  613.  
  614. 5.2.5  Enable/disable events
  615.        —————————————————————
  616.  
  617. This event, when triggered, causes selected events to be enabled or disabled.
  618. Events which have been disabled because they are "once only" events cannot be
  619. re-enabled. One column is used per event number.
  620.  
  621.  
  622. 5.3  Initial states
  623.      ——————————————
  624.  
  625. Remember that, when entering a room, all events are in their initial
  626. (untriggered) state, though they are immediately checked to see if any should
  627. be triggered, instantly and invisibly. The restrictions on "scroll & move"
  628. present in previous versions (scrolling anything that's there, even parts of
  629. monsters) have been lifted.
  630.  
  631.  
  632.  
  633. 6  Menus
  634.    —————
  635.  
  636. 6.1  The map editor menu
  637.      ———————————————————
  638.  
  639. Accessed from the map editing window.
  640.  
  641. 'Go to room' allows you to go to any room quickly and easily. There is a
  642. writable icon between two arrow icons, in which the room number is entered;
  643. the arrows can be used to adjust the room number. The name of the room
  644. specified is shown below; click on OK to select that room for editing, or
  645. Cancel to ignore.
  646.  
  647. For the other options, see §6.3 "The main menu".
  648.  
  649.  
  650. 6.2  The room editing menu
  651.      —————————————————————
  652.  
  653. Accessed by clicking Menu over the room editing window.
  654.  
  655. For the first four options, the pointer will look like the appropriate
  656. character or object from the original game. You can move between rooms as
  657. normal; click Select within the map editing window to set the position or
  658. select the monster, or click Adjust to cancel the operation. The pointer(s)
  659. used are given in brackets at the end of each description; the definitions
  660. can be found in the file 'Sprites'.
  661.  
  662. 'Set start square' allows you to set Miner Willy's start position, eg. by the
  663. bath in The Bathroom. (ptr_start)
  664.  
  665. 'Set target square' allows you to set Miner Willy's target position, eg. the
  666. bed in the Master Bedroom. This is where you must take Miner Willy when all
  667. the objects have been collected - he will automatically walk right from here
  668. until he reaches the finish sprite. (ptr_target)
  669.  
  670. 'Set guard sprite' allows you to set the monster guarding the target
  671. position, eg. Maria the housekeeper in the Master Bedroom. This monster will
  672. disappear when all the objects have been collected. The 'right-hand' frames
  673. are used when any part of Miner Willy is at the same height as the guard -
  674. all four when within 15 pixels, the last two when within 7 pixels, and the
  675. last one only when within 3 pixels. (ptr_guard)
  676.  
  677. 'Set finish sprite' allows you to set the monster guarding the target
  678. position, eg. the toilet in The Bathroom. This monster will
  679. disappear when all the objects have been collected. To help you, the monsters
  680. are shown while in this mode. The 'right-hand' frames are only used
  681. when Miner Willy reaches this monster after arriving at the target square.
  682. (ptr_finish)
  683.  
  684. 'Set teleport' allows you to place a new teleport or change the source or
  685. destination of an existing one. Click once to place or choose either the
  686. source or the destination. The pointer will change shape, indicating that you
  687. should now place the new source or destination, changing room if necessary.
  688. Clicking on one end of a teleport and then again somewhere else *in the same
  689. room* will move that end; clicking in another room will move the other end.
  690. (ptr_puttran, ptr_putdest, ptr_putsrc)
  691.  
  692. 'Delete teleport', as its name suggests, deletes the next teleport you click
  693. on - source or destination will do. (ptr_deltran)
  694.  
  695. 'Set rope position' - only available if the current room contains a rope -
  696. allows you to set where the rope is attached. Use the arrows in the dialogue
  697. box to position it - the allowed range is -63 to +63 pixels, relative to the
  698. rope's default position.
  699.  
  700. 'Edit events' leads to a dialogue box which allows you to create and edit up
  701. to eight events in the current room.
  702.  
  703. 'Go to room' - see the editor menu.
  704.  
  705. 'Restore room' restores the room to its previous layout, including scenery
  706. sprites and types, monsters, and events. The room is stored whenever you save
  707. it or the game, or play or test the game. Loading a room cannot be undone in
  708. this way (yet).
  709.  
  710. 'Clear room' wipes the room completely (teleports are left intact). It can be
  711. restored using 'Restore room'.
  712.  
  713. 'Clear unused data' wipes all the rooms which cannot be reached, and all
  714. sprites and animation sequences which are not used in the remaining rooms. A
  715. room can be reached if there is a route to it from the start room, or if
  716. there is a teleport to it from another room, which itself must be reachable.
  717. (The main use of this is to get rid of old rooms which are no longer needed,
  718. and which may contain collectables. It can also improve the compression ratio
  719. of the file.) *** This is irreversible.
  720.  
  721. 'Edit' - see §6.3 "The main menu".
  722.  
  723. 'Grid lock' is a flag. When set, new monsters and changes to movement bounds
  724. are locked to a 32*16 grid (which just happens to be the room size).
  725.  
  726.  
  727. 6.3  The main menu
  728.      —————————————
  729.  
  730. Accessed from the icon bar.
  731.  
  732. 'Info' - well...
  733.  
  734. 'Play game' is obvious.
  735.  
  736. 'Options' leads to a dialogue box - see §6.4 "The Options dialogue box".
  737.  
  738. 'Edit' leads to a submenu containing three options:
  739. - 'Game', which opens the map editing window;
  740. - 'Monster sprites', 'Scenery sprites' and 'Background sprites' which each
  741.   export the relevant sprites to !Paint, first running it if necessary;
  742. - 'Author' is where you enter your name. You have 32 charaters in which to do
  743.   so.
  744. - 'JSW 1 turn type' which, when ticked, causes Miner Willy to turn as he
  745.   would in Manic Miner and JSW (as opposed to JSW2);
  746. - 'Statistics' just shows you some game statistics - how many rooms etc.
  747.  
  748. 'Test game' is similar to 'Play game' but Miner Willy is missing. It's simple
  749. to use:
  750.  Z  left    '  up     P  single step    Space   next frame
  751.  X  right   /  down   R  normal speed   Escape  exit to desktop
  752. and 1 to 8 to activate events 1 to 8.
  753.  
  754. 'Save' leads to a submenu containing:
  755. - 'Game', meaning 'save game' :-)
  756. - 'Monster sprites', obvious;
  757. - 'Scenery sprites', obvious;
  758. - 'Background sprites', obvious;
  759. - 'Animation sequences', to save the animation data on its own;
  760. - 'Current room', to save the current room (everything about it except exits,
  761.   teleports and event data)
  762. - 'Current scenery', to save the scenery sprite details for the current room;
  763. - 'Open save dir', to open the directory "JSW:JSW files".
  764. Any option described as 'to save...' may be clicked on to save the file to
  765. "JSW:JSW files" - this also happens if no pathname is supplied for its save
  766. box (except then you don't get a default name). The default names are:
  767. Game                 JSWfile   (only if <Clear=>Menu.Clear> selected)
  768. Monster sprites      Monsters
  769. Scenery sprites      Scenery
  770. Background sprites   BgndSprs
  771. Animation sequences  Animation
  772. Current room         Room_x    (x is the room number)
  773. Current scenery      Blocks_x
  774.  
  775. 'Clear' wipes the current game file (sprites included) from memory so that
  776. you can start afresh with blank screens, blank sprites, and no animation.
  777.  
  778. 'Help' leads to a submenu containing two options:
  779. - 'Interactive', which runs the !Help application, if it isn't already
  780.   running, and will open the interactive help window;
  781. - 'Manual': there are two copies of the JSW manual, one in StrongHelp 2
  782.   format, the other in plain text format. JSW will try to load the StrongHelp
  783.   manual first; if this fails, the plain text manual is loaded instead.
  784.  
  785.  
  786. 'Quit' is very obvious.
  787.  
  788.  
  789. 6.4  The Options dialogue box
  790.      ————————————————————————
  791.  
  792. - 'Temporary immunity to monsters' - see the introduction section.
  793. - 'Spectrum-style rope climbing' - when on, you can use left and right to
  794.   climb the ropes exactly as in the Spectrum version.
  795. - 'Pulse effect for collectables' - when on, the collectable objects are
  796.   shown as pulsing between full and half brightness; when off, the flicker
  797.   effect is used (invisible once in every 8 frames).
  798. - 'Manic Miner disintegration' - when on, disintegrating platforms 'sink'.
  799. - 'Use fade routine' - when on, uses a top-to-bottom fade effect for the
  800.   title page, when you 'press SPACE to start', or press ESCAPE while playing.
  801. - 'Use full VGA screen' - only if you're using a VGA monitor or better: when
  802.   not selected (or if there's not enough memory), you get a small display in
  803.   the middle of the screen (yes, a letterbox mode, but I've squashed it
  804.   horizontally as well), and when selected, you get a full size display with
  805.   a speed penalty - it may run a bit slowly on ARM2 and (just possibly)
  806.   ARM250 based machines (but then I've made it as fast as I can without
  807.   completely rewriting my plotting routines). This option is ignored if
  808.   you're using a 'standard' monitor or TV.
  809. - 'Force CGA mode' - forces CGA mode regardless of monitor type, overriding
  810.   the full VGA screen option. Be careful with this one!
  811. - 'Use standard modes' - uses modes 13 and 49 instead of JSW's own modes. Use
  812.   of mode 49 will require the GameModes module - JSW will try to load it from
  813.   System:Modules if necessary.
  814. - 'Fix VGA sound' - ensures that the speed increase and the associated pitch
  815.   jump do not happen. Only takes effect if a VGA-compatible monitor is
  816.   attached.
  817. - 'Bgnd scrolling' - whether the background is scrolled or not. Choices are
  818.   up, down, and none.
  819. - 'Speed'
  820.   - 'Fast (25fps)' - fast mode;
  821.   - 'Slow (17fps)' - slow mode (the proper speed!);
  822. - 'Tune:' - select the in-game music by using the arrows either side of the
  823.   tune name. The name '(sound FX)' means that there is no tune, so the sound
  824.   effects are used instead. (Note: I only did 'Moonlight Sonata' and 'The
  825.   Original In-Game Tune'. The rest - in their Maestro-file form - are PD.)
  826. - 'Sound on' - toggles whether the in-game sound is on or off.
  827. - 'Volume:' - the in-game sound volume level. Alter it using the arrows
  828.   either side of it.
  829. - You can also 'Cancel' any changes, 'Save' the settings, or click on 'OK' to
  830.   accept them without saving.
  831.  
  832.  
  833. 7  Game details and statistics
  834.    ———————————————————————————
  835.  
  836. 7.1  Game statistics
  837.      ———————————————
  838.  
  839. In the game there is a maximum of:
  840.  160 rooms
  841.  256 scenery sprites (map piece definitions!)
  842.   80 animation sequences
  843.  320 monster sprites
  844.    2 arrow sprites
  845.   32 teleports
  846.    1 start position
  847.    1 target position
  848.    1 guard sprite
  849.    1 finish sprite
  850.      Per room:
  851.   64 collectables      = total of 10240
  852.    8 monsters          = total of 1280
  853.    4 arrows            = total of 640
  854.    8 events            = total of 1280
  855.    1 background sprite = total of 160
  856.    1 switch            = total of 160
  857.  
  858.  
  859. 7.2  Sprite file details
  860.      ———————————————————
  861.  
  862. The sprite files are laid out in this way:
  863.  Type        Prefix  Numbering  Colours  Size
  864.  Monster     frame   0 to 319     256    16x16
  865.  Monster     arrow   0, 1, r, l   256     8x8
  866.  Scenery     block   0 to 255     256     8x8
  867.  Background  backg   0 to 159     256     8x8
  868.  Switch      lever   0 to 7       256     8x8
  869.  
  870. Palettes and masks are always ignored.
  871.  
  872. For arrows, 'r' and 'l' are equivalent to, respectively, '0' and '1'.
  873.  
  874. Not all the sprites need to be present, and none, any or all of each of the
  875. above types may be present in the same file. Any sprites not conforming to
  876. the above standards are ignored. It is best to define the sprites in mode 13
  877. (256 colours, old palette, 45dpi by 45dpi for those with Risc PCs).
  878.  
  879. Black (colour 0) is used as a mask for all except the background sprites, and
  880. is thus treated as transparent. Collision detection relies on this masking
  881. method.
  882.  
  883.  
  884. 7.3  File types
  885.      ——————————
  886.  
  887. These are 'user' filetypes (I hope!) so other applications' filetypes may
  888. clash.
  889.  
  890.  &1C0  JSW_Game  Game file, 186.3K unsquashed
  891.  &1C1  JSW_Data  One of:
  892.                   Set of animation sequences, 2560 bytes
  893.                   Single room, 557 bytes
  894.                   Scenery sprite numbers and types for one room, 28 bytes
  895.  
  896.  
  897. 7.4  Credits
  898.      ———————
  899.  
  900. Matthew Smith for writing the original Jet Set Willy.
  901.  
  902. Derrick Rowson for writing Jet Set Willy 2.
  903.  
  904. Eddie Edwards (eddie@powerslv.demon.co.uk) for writing a version of JSW
  905. which, well... the editor is <blergh>; and for prompting me to make jumping
  906. through stairs easier.
  907.  
  908. Me for writing this version (because of his version).
  909.  
  910. Russ Juckes (RussHype@digibank.demon.co.uk) for bug reporting and suggesting
  911. a couple of improvements that found their way into v1.34. Certain PD library
  912. people should note that he is NOT the author.
  913.  
  914. Richard Hallas (Richard@Hallas.demon.co.uk) for supplying the Risc PC mode
  915. definition files, for help in fixing two of the tunes, and for prompting the
  916. object 'pulsing' effect. Also Reuben Thomas for another RPC MDF.
  917.  
  918. 7.5  Contacting the author
  919.      —————————————————————
  920.  
  921. To contact the actual author (Darren Salt):
  922.  
  923. Snail mail: 17, Allendale Crescent, Wansbeck Estate, Stakeford,
  924.             Northumberland, (England) NE62 5YG
  925.  
  926. E-mail: <mailto:ds@youmustbejoking.demon.co.uk>
  927.         (fallback: <mailto:arcsalt@spuddy.mew.co.uk>)
  928.